In computing systems, message queues are often used for inter-process communication, for inter-thread communication within the same process, and for communication between processes at separate computing systems. A message queue is a way to pass control or content from one process or thread to another. Generally, a sender that places a message on a message queue does not need to interact with the message queue at the same time as a receiver that takes the message off of the message queue. Messages placed onto the queue are stored until the recipient retrieves them.
In a typical message queue system, a system administrator installs and configures message queue management software, such as a message queue broker. The system administrator uses the message queue broker to define a message queue, which may include defining a name for the message queue. Receiver applications may then register software routines that listen for messages placed onto the message queue. Sender applications may connect to the message queue and transfer messages onto it. The message queue broker stores the messages until receiver applications connect and then call registered software routines to retrieve messages from the message queue. The receiver applications then process the retrieved messages.